<!DOCTYPE html>
<html lang="zh-CN">
  <head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width,initial-scale=1">
    <title>计算机导论与环境配置 | 浪飞IT小栈</title>
    <meta name="generator" content="VuePress 1.9.9">
    <link rel="icon" href="/img/favicon.ico">
    <meta name="description" content="前后端技术分享">
    <meta name="keywords" content="前端博客,后端博客,人工智能,个人技术博客,前端,前端开发,前端框架,web前端,前端面试题,技术文档,学习,面试,JavaScript,js,ES6,TypeScript,vue,python,css3,html5,Node,git,github,markdown,java,Spring,Springboot,Redis,mysql">
    <meta name="baidu-site-verification" content="7F55weZDDc">
    <meta name="theme-color" content="#11a8cd">
    
    <link rel="preload" href="/assets/css/0.styles.ada71c49.css" as="style"><link rel="preload" href="/assets/js/app.a2a00aa5.js" as="script"><link rel="preload" href="/assets/js/2.256f807a.js" as="script"><link rel="preload" href="/assets/js/12.f9c60882.js" as="script"><link rel="prefetch" href="/assets/js/10.ab144fe3.js"><link rel="prefetch" href="/assets/js/11.062e0879.js"><link rel="prefetch" href="/assets/js/13.0a6ebfcf.js"><link rel="prefetch" href="/assets/js/14.03fc6f12.js"><link rel="prefetch" href="/assets/js/15.19dbf9fd.js"><link rel="prefetch" href="/assets/js/16.6e68160b.js"><link rel="prefetch" href="/assets/js/17.1d678834.js"><link rel="prefetch" href="/assets/js/18.4536fd5c.js"><link rel="prefetch" href="/assets/js/19.9c1b65df.js"><link rel="prefetch" href="/assets/js/20.c5f96e71.js"><link rel="prefetch" href="/assets/js/21.3f0b334e.js"><link rel="prefetch" href="/assets/js/22.55c868be.js"><link rel="prefetch" href="/assets/js/23.91286241.js"><link rel="prefetch" href="/assets/js/24.c1af1909.js"><link rel="prefetch" href="/assets/js/25.a995a755.js"><link rel="prefetch" href="/assets/js/26.abc5dea3.js"><link rel="prefetch" href="/assets/js/27.1eb62850.js"><link rel="prefetch" href="/assets/js/28.b383a871.js"><link rel="prefetch" href="/assets/js/29.088e0d73.js"><link rel="prefetch" href="/assets/js/3.cd716564.js"><link rel="prefetch" href="/assets/js/30.3ccc98d5.js"><link rel="prefetch" href="/assets/js/31.aab7cc23.js"><link rel="prefetch" href="/assets/js/32.5e16b7e6.js"><link rel="prefetch" href="/assets/js/33.4aaeb741.js"><link rel="prefetch" href="/assets/js/34.45e8e898.js"><link rel="prefetch" href="/assets/js/35.5899c97a.js"><link rel="prefetch" href="/assets/js/36.32e2e263.js"><link rel="prefetch" href="/assets/js/37.c4e27bbd.js"><link rel="prefetch" href="/assets/js/38.fe5e60d2.js"><link rel="prefetch" href="/assets/js/39.2cb0b4ee.js"><link rel="prefetch" href="/assets/js/4.edf4d5e7.js"><link rel="prefetch" href="/assets/js/40.08d5bead.js"><link rel="prefetch" href="/assets/js/41.2f80f24b.js"><link rel="prefetch" href="/assets/js/42.43a49913.js"><link rel="prefetch" href="/assets/js/43.08da7ec2.js"><link rel="prefetch" href="/assets/js/44.7c7cb8a9.js"><link rel="prefetch" href="/assets/js/45.0ddf7e7f.js"><link rel="prefetch" href="/assets/js/46.7c4609a5.js"><link rel="prefetch" href="/assets/js/47.edf3ddf8.js"><link rel="prefetch" href="/assets/js/48.569a90b9.js"><link rel="prefetch" href="/assets/js/49.fa368ac8.js"><link rel="prefetch" href="/assets/js/5.24054156.js"><link rel="prefetch" href="/assets/js/50.b9b3ea7f.js"><link rel="prefetch" href="/assets/js/51.a2ebf0fe.js"><link rel="prefetch" href="/assets/js/52.31f02238.js"><link rel="prefetch" href="/assets/js/53.4110ef1e.js"><link rel="prefetch" href="/assets/js/54.dab741c7.js"><link rel="prefetch" href="/assets/js/55.f27984e9.js"><link rel="prefetch" href="/assets/js/56.bd4c1a8e.js"><link rel="prefetch" href="/assets/js/57.375d40cb.js"><link rel="prefetch" href="/assets/js/58.932e3864.js"><link rel="prefetch" href="/assets/js/59.e657be1b.js"><link rel="prefetch" href="/assets/js/6.b259c061.js"><link rel="prefetch" href="/assets/js/60.88d94274.js"><link rel="prefetch" href="/assets/js/61.fa71d884.js"><link rel="prefetch" href="/assets/js/62.a9d3b3b7.js"><link rel="prefetch" href="/assets/js/63.f849fe75.js"><link rel="prefetch" href="/assets/js/64.1770f7a9.js"><link rel="prefetch" href="/assets/js/65.6afc33db.js"><link rel="prefetch" href="/assets/js/66.799f2eb4.js"><link rel="prefetch" href="/assets/js/67.f36b2f7d.js"><link rel="prefetch" href="/assets/js/68.868cd00b.js"><link rel="prefetch" href="/assets/js/69.4c29b907.js"><link rel="prefetch" href="/assets/js/7.e34ea00f.js"><link rel="prefetch" href="/assets/js/70.1b993ed4.js"><link rel="prefetch" href="/assets/js/71.e16ad4f9.js"><link rel="prefetch" href="/assets/js/72.627505e6.js"><link rel="prefetch" href="/assets/js/73.32768e14.js"><link rel="prefetch" href="/assets/js/74.968a580d.js"><link rel="prefetch" href="/assets/js/75.42d5af3d.js"><link rel="prefetch" href="/assets/js/76.19a69d31.js"><link rel="prefetch" href="/assets/js/77.cf627a78.js"><link rel="prefetch" href="/assets/js/78.07177880.js"><link rel="prefetch" href="/assets/js/8.c4dd00ce.js"><link rel="prefetch" href="/assets/js/9.0ff73be2.js">
    <link rel="stylesheet" href="/assets/css/0.styles.ada71c49.css">
  </head>
  <body class="theme-mode-light">
    <div id="app" data-server-rendered="true"><div class="theme-container sidebar-open have-rightmenu"><header class="navbar blur"><div title="目录" class="sidebar-button"><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" role="img" viewBox="0 0 448 512" class="icon"><path fill="currentColor" d="M436 124H12c-6.627 0-12-5.373-12-12V80c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12zm0 160H12c-6.627 0-12-5.373-12-12v-32c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12zm0 160H12c-6.627 0-12-5.373-12-12v-32c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12z"></path></svg></div> <a href="/" class="home-link router-link-active"><img src="/img/logo.png" alt="浪飞IT小栈" class="logo"> <span class="site-name can-hide">浪飞IT小栈</span></a> <div class="links"><div class="search-box"><input aria-label="Search" autocomplete="off" spellcheck="false" value=""> <!----></div> <nav class="nav-links can-hide"><div class="nav-item"><a href="/" class="nav-link">首页</a></div><div class="nav-item"><a href="/pages/6138ae/" class="nav-link">Java速通</a></div><div class="nav-item"><a href="/pages/705b35/" class="nav-link">面试经典</a></div><div class="nav-item"><div class="dropdown-wrapper"><button type="button" aria-label="精品项目" class="dropdown-title"><a href="/project/" class="link-title">精品项目</a> <span class="title" style="display:none;">精品项目</span> <span class="arrow right"></span></button> <ul class="nav-dropdown" style="display:none;"><li class="dropdown-item"><h4>桌面端</h4> <ul class="dropdown-subitem-wrapper"><li class="dropdown-subitem"><a href="/pages/8143cc480faf9a11/" class="nav-link">JavaScript</a></li></ul></li><li class="dropdown-item"><h4>PC后端</h4> <ul class="dropdown-subitem-wrapper"><li class="dropdown-subitem"><a href="/note/javascript/" class="nav-link">项目1</a></li><li class="dropdown-subitem"><a href="/note/typescript-axios/" class="nav-link">项目二</a></li></ul></li></ul></div></div><div class="nav-item"><a href="/about/" class="nav-link">电子书</a></div><div class="nav-item"><div class="dropdown-wrapper"><button type="button" aria-label="索引" class="dropdown-title"><a href="/archives/" class="link-title">索引</a> <span class="title" style="display:none;">索引</span> <span class="arrow right"></span></button> <ul class="nav-dropdown" style="display:none;"><li class="dropdown-item"><!----> <a href="/categories/" class="nav-link">分类</a></li><li class="dropdown-item"><!----> <a href="/tags/" class="nav-link">标签</a></li><li class="dropdown-item"><!----> <a href="/archives/" class="nav-link">归档</a></li></ul></div></div><div class="nav-item"><a href="/pages/0c07b2/" class="nav-link">IT杂货铺</a></div><div class="nav-item"><a href="/archives/" class="nav-link">更多资源</a></div> <!----></nav></div></header> <div class="sidebar-mask"></div> <div class="sidebar-hover-trigger"></div> <aside class="sidebar" style="display:none;"><div class="blogger"><img src="https://cdn.jsdelivr.net/gh/langfeiyes/images-khub/avatar.jpg"> <div class="blogger-info"><h3>浪飞yes</h3> <span>无法简单的人儿~</span></div></div> <nav class="nav-links"><div class="nav-item"><a href="/" class="nav-link">首页</a></div><div class="nav-item"><a href="/pages/6138ae/" class="nav-link">Java速通</a></div><div class="nav-item"><a href="/pages/705b35/" class="nav-link">面试经典</a></div><div class="nav-item"><div class="dropdown-wrapper"><button type="button" aria-label="精品项目" class="dropdown-title"><a href="/project/" class="link-title">精品项目</a> <span class="title" style="display:none;">精品项目</span> <span class="arrow right"></span></button> <ul class="nav-dropdown" style="display:none;"><li class="dropdown-item"><h4>桌面端</h4> <ul class="dropdown-subitem-wrapper"><li class="dropdown-subitem"><a href="/pages/8143cc480faf9a11/" class="nav-link">JavaScript</a></li></ul></li><li class="dropdown-item"><h4>PC后端</h4> <ul class="dropdown-subitem-wrapper"><li class="dropdown-subitem"><a href="/note/javascript/" class="nav-link">项目1</a></li><li class="dropdown-subitem"><a href="/note/typescript-axios/" class="nav-link">项目二</a></li></ul></li></ul></div></div><div class="nav-item"><a href="/about/" class="nav-link">电子书</a></div><div class="nav-item"><div class="dropdown-wrapper"><button type="button" aria-label="索引" class="dropdown-title"><a href="/archives/" class="link-title">索引</a> <span class="title" style="display:none;">索引</span> <span class="arrow right"></span></button> <ul class="nav-dropdown" style="display:none;"><li class="dropdown-item"><!----> <a href="/categories/" class="nav-link">分类</a></li><li class="dropdown-item"><!----> <a href="/tags/" class="nav-link">标签</a></li><li class="dropdown-item"><!----> <a href="/archives/" class="nav-link">归档</a></li></ul></div></div><div class="nav-item"><a href="/pages/0c07b2/" class="nav-link">IT杂货铺</a></div><div class="nav-item"><a href="/archives/" class="nav-link">更多资源</a></div> <!----></nav>  <ul class="sidebar-links"><li><section class="sidebar-group collapsable depth-0"><p class="sidebar-heading"><span>开篇</span> <span class="arrow right"></span></p> <!----></section></li><li><section class="sidebar-group collapsable depth-0"><p class="sidebar-heading open"><span>基础语法</span> <span class="arrow down"></span></p> <ul class="sidebar-links sidebar-group-items"><li><a href="/pages/a5bdcf/" aria-current="page" class="active sidebar-link">计算机导论与环境配置</a><ul class="sidebar-sub-headers"><li class="sidebar-sub-header level2"><a href="/pages/a5bdcf/#一、今日学习内容和目标" class="sidebar-link">一、今日学习内容和目标</a></li><li class="sidebar-sub-header level2"><a href="/pages/a5bdcf/#二、计算机运行程序" class="sidebar-link">二、计算机运行程序</a><ul class="sidebar-sub-headers"><li class="sidebar-sub-header level3"><a href="/pages/a5bdcf/#_2-1-核心部件-了解" class="sidebar-link">2.1 核心部件 (了解)</a></li><li class="sidebar-sub-header level3"><a href="/pages/a5bdcf/#_2-2-载入内存-让程序运行起来" class="sidebar-link">2.2 载入内存，让程序运行起来</a></li><li class="sidebar-sub-header level3"><a href="/pages/a5bdcf/#_2-3-程序-java-的执行流程-知道即可" class="sidebar-link">2.3 程序(Java)的执行流程 ( 知道即可 )</a></li><li class="sidebar-sub-header level3"><a href="/pages/a5bdcf/#_2-4-计算机采用二进制原因-理解即可" class="sidebar-link">2.4 计算机采用二进制原因 ( 理解即可 )</a></li></ul></li><li class="sidebar-sub-header level2"><a href="/pages/a5bdcf/#三、windows常见操作" class="sidebar-link">三、Windows常见操作</a><ul class="sidebar-sub-headers"><li class="sidebar-sub-header level3"><a href="/pages/a5bdcf/#_3-1-系统中dos命令行的基本操作" class="sidebar-link">3.1 系统中DOS命令行的基本操作</a></li><li class="sidebar-sub-header level3"><a href="/pages/a5bdcf/#_3-2-常用快捷方式" class="sidebar-link">3.2 常用快捷方式</a></li></ul></li><li class="sidebar-sub-header level2"><a href="/pages/a5bdcf/#四、编程语言" class="sidebar-link">四、编程语言</a><ul class="sidebar-sub-headers"><li class="sidebar-sub-header level3"><a href="/pages/a5bdcf/#_4-1-什么是编程-什么是编程语言-理解" class="sidebar-link">4.1 什么是编程 ? 什么是编程语言? （理解）</a></li></ul></li><li class="sidebar-sub-header level2"><a href="/pages/a5bdcf/#五、idea2022-安装" class="sidebar-link">五、IDEA2022 安装</a></li><li class="sidebar-sub-header level2"><a href="/pages/a5bdcf/#六、jdk-安装和配置" class="sidebar-link">六、JDK 安装和配置</a><ul class="sidebar-sub-headers"><li class="sidebar-sub-header level3"><a href="/pages/a5bdcf/#_6-1-安装jdk" class="sidebar-link">6.1 安装JDK</a></li><li class="sidebar-sub-header level3"><a href="/pages/a5bdcf/#_6-2-配置path环境变量" class="sidebar-link">6.2 配置PATH环境变量</a></li></ul></li><li class="sidebar-sub-header level2"><a href="/pages/a5bdcf/#七、创建工作区" class="sidebar-link">七、创建工作区</a></li><li class="sidebar-sub-header level2"><a href="/pages/a5bdcf/#八、小结与作业" class="sidebar-link">八、小结与作业</a></li></ul></li><li><a href="/pages/32e9a2/" class="sidebar-link">Java开发入门与数据类型</a></li><li><a href="/pages/0ccc48/" class="sidebar-link">变量和运算符</a></li><li><a href="/pages/67fd43/" class="sidebar-link">选择语句和循环语句</a></li><li><a href="/pages/92a804/" class="sidebar-link">一维数组</a></li><li><a href="/pages/0840c0/" class="sidebar-link">方法定义与使用</a></li></ul></section></li><li><section class="sidebar-group collapsable depth-0"><p class="sidebar-heading"><span>面向对象</span> <span class="arrow right"></span></p> <!----></section></li><li><section class="sidebar-group collapsable depth-0"><p class="sidebar-heading"><span>常用类</span> <span class="arrow right"></span></p> <!----></section></li><li><section class="sidebar-group collapsable depth-0"><p class="sidebar-heading"><span>基础高级</span> <span class="arrow right"></span></p> <!----></section></li><li><section class="sidebar-group collapsable depth-0"><p class="sidebar-heading"><span>数据库</span> <span class="arrow right"></span></p> <!----></section></li><li><section class="sidebar-group collapsable depth-0"><p class="sidebar-heading"><span>前端技术</span> <span class="arrow right"></span></p> <!----></section></li><li><section class="sidebar-group collapsable depth-0"><p class="sidebar-heading"><span>热门框架</span> <span class="arrow right"></span></p> <!----></section></li><li><section class="sidebar-group collapsable depth-0"><p class="sidebar-heading"><span>前后端分离</span> <span class="arrow right"></span></p> <!----></section></li><li><section class="sidebar-group collapsable depth-0"><p class="sidebar-heading"><span>权限控制</span> <span class="arrow right"></span></p> <!----></section></li><li><section class="sidebar-group collapsable depth-0"><p class="sidebar-heading"><span>NoSQL</span> <span class="arrow right"></span></p> <!----></section></li><li><section class="sidebar-group collapsable depth-0"><p class="sidebar-heading"><span>微服务</span> <span class="arrow right"></span></p> <!----></section></li><li><section class="sidebar-group collapsable depth-0"><p class="sidebar-heading"><span>消息中间件</span> <span class="arrow right"></span></p> <!----></section></li><li><section class="sidebar-group collapsable depth-0"><p class="sidebar-heading"><span>脚手架</span> <span class="arrow right"></span></p> <!----></section></li><li><section class="sidebar-group collapsable depth-0"><p class="sidebar-heading"><span>技术增值</span> <span class="arrow right"></span></p> <!----></section></li></ul> </aside> <div><main class="page"><div class="theme-vdoing-wrapper "><div class="articleInfo-wrap" data-v-06225672><div class="articleInfo" data-v-06225672><ul class="breadcrumbs" data-v-06225672><li data-v-06225672><a href="/" title="首页" class="iconfont icon-home router-link-active" data-v-06225672></a></li> <li data-v-06225672><a href="/categories/?category=Java%E9%80%9F%E9%80%9A" title="分类" data-v-06225672>Java速通</a></li><li data-v-06225672><a href="/categories/?category=%E5%9F%BA%E7%A1%80%E8%AF%AD%E6%B3%95" title="分类" data-v-06225672>基础语法</a></li></ul> <div class="info" data-v-06225672><div title="作者" class="author iconfont icon-touxiang" data-v-06225672><a href="https://github.com/langfeiyes" target="_blank" title="作者" class="beLink" data-v-06225672>langfeiyes</a></div> <div title="创建时间" class="date iconfont icon-riqi" data-v-06225672><a href="javascript:;" data-v-06225672>2024-02-28</a></div> <!----></div></div></div> <!----> <div class="content-wrapper"><div class="right-menu-wrapper"><div class="right-menu-margin"><div class="right-menu-title">目录</div> <div class="right-menu-content"></div></div></div> <h1><img src="">计算机导论与环境配置<!----></h1>  <div class="theme-vdoing-content content__default"><h1 id="计算机导论与环境配置"><a href="#计算机导论与环境配置" class="header-anchor">#</a> 计算机导论与环境配置</h1> <h2 id="一、今日学习内容和目标"><a href="#一、今日学习内容和目标" class="header-anchor">#</a> 一、今日学习内容和目标</h2> <ul><li>计算机程序在计算机中是如何运行
<ul><li>计算机核心部件</li> <li>程序载入内存过程</li> <li>程序执行过程</li> <li>二进制</li></ul></li> <li>Windows 常用操作
<ul><li>Dos 命令行基本操作</li> <li>Win 常用快捷键</li></ul></li> <li>编程语言</li> <li>开发工具和开发环境的安装
<ul><li>IDEA 2022 安装</li> <li>JDK 安装</li> <li>创建工作区</li></ul></li></ul> <h2 id="二、计算机运行程序"><a href="#二、计算机运行程序" class="header-anchor">#</a> 二、计算机运行程序</h2> <h3 id="_2-1-核心部件-了解"><a href="#_2-1-核心部件-了解" class="header-anchor">#</a> 2.1 核心部件 (了解)</h3> <p>​		常识：硬盘是一种持久化的存储介质，换句话说，就是硬盘断电后，数据还在硬盘上。内存是一种临时性的存储介质，断电后，数据就不在了。</p> <p>程序是保存在硬盘中的，要载入内存才能运行，CPU也被设计为只能从内存中读取数据和指令；</p> <p>对于CPU来说，内存仅仅是一个存放指令和数据的地方，并不能在内存中完成计算功能，为了了解具体的运算过程，先看一下CPU的结构：</p> <p>CPU是一个复杂的计算机部件，它内部又包含很多小零件，如下图：</p> <p><img src="https://cdn.jsdelivr.net/gh/langfeiyes/images-khub/oKxjn4Eeq6ykH3N.png" alt=""></p> <p><strong>运算单元是CPU的大脑</strong>，负责加减乘除、比较、位移等运算工作，每种运算都有对应的电路支持，速度很快。</p> <p>寄存器是CPU内部非常小、非常快速的存储部件，它的容量有限，对于32的CPU，每个寄存器一般能存储**32位（4个字节）**的数据，对于64位的CPU，每个寄存器一般能存储64位（8个字节）的数据。为了完成各种复杂的功能，现代CPU都内置了几十个甚至上百个寄存器，嵌入式系统功能单一，寄存器数量较少；</p> <p>我们经常所说的多少位CPU，指的是寄存器的位数；寄存器在程序的执行过程中至关重要，不可或缺，它们可以用来完成数学运算、控制循环次数、控制程序的执行流程、标记CPU的运行状态等。</p> <p><strong>CPU内部为什么又要设置缓存呢？</strong></p> <p>虽然内存的读取速度已经很快了，但是和CPU相比，还是有很大差距的，不是一个数量级的，如果每次都从内存中读取数据，会严重拖慢CPU的运行速度，CPU经常处于等待状态，无事可做。在CPU内部设置一个缓存，可以将使用频繁的数据暂时读取到缓存，需要同一地址上的数据时，就不用大老远的再去访问内存，直接从缓存中读取即可。</p> <p>大家在购买CPU时也会经常关心缓存容量，例如：Intel Core i7 3770K 的三级缓存为8MB，二级缓存为256KB，一级缓存为32KB，容量越大，CPU越强悍。</p> <p>缓存的容量是有限的，CPU只能从缓存中读取到部分数据，对于使用不是很频繁的数据，会绕过缓存，直接到内存中读取。所以不是每次都能从缓存中得到数据，这就是缓存的命中率，能够从缓存中读取就命中，否则就没命中。关于缓存的命中率又是一门学问，哪些数据保留在缓存，哪些数据不保留，都有复杂的算法。</p> <h3 id="_2-2-载入内存-让程序运行起来"><a href="#_2-2-载入内存-让程序运行起来" class="header-anchor">#</a> 2.2 载入内存，让程序运行起来</h3> <p>如果你的电脑上安装了QQ，你希望和好友聊天，会双击QQ图标，打开QQ软件，输入账号和密码，然后登录就可以了。那么，QQ是怎么运行起来的呢？
　　首先，有一点你要明确，你安装的QQ软件是保存在硬盘中的。双击QQ图标，操作系统就会知道你要运行这个软件，它会在硬盘中找到你安装的QQ软件，将数据（安装的软件本质上就是很多数据的集合）复制到内存。对！就是复制到内存！QQ不是在硬盘中运行的，而是在内存中运行的。为什么呢？因为内存的读写速度比硬盘快很多。对于读写速度，<strong>内存 &gt; 固态硬盘 &gt; 机械硬盘</strong>。机械硬盘是<strong>靠电机带动盘片转动来读写数据</strong>的，而内存条通过电路来读写数据，电机的转速肯定没有电的传输速度（几乎是光速）快。虽然固态硬盘也是<strong>通过电路来</strong>读写数据，但是因为与内存的控制方式不一样，速度也不及内存。所以，不管是运行QQ还是编辑Word文档，都是先将硬盘上的数据复制到内存，才能让CPU来处理，这个过程就叫作载入内存（Load into Memory）。完成这个过程需要一个特殊的程序（软件），这个程序就叫做加载器（Loader）。</p> <p>​		CPU直接与内存打交道，它会读取内存中的数据进行处理，并将结果保存到内存。如果需要保存到硬盘，才会将内存中的数据复制到硬盘。例如，打开Word文档，输入一些文字，虽然我们看到的不一样了，但是硬盘中的文档没有改变，新增的文字暂时保存到了内存，<strong>Ctrl+S</strong>才会保存到硬盘。因为内存断电后会丢失数据，所以如果你编辑完Word文档忘记保存就关机了，那么你将永远无法找回这些内容。</p> <div class="language-java line-numbers-mode"><pre class="language-java"><code>helloworld
</code></pre> <div class="line-numbers-wrapper"><span class="line-number">1</span><br></div></div><p>虚拟内存</p> <p>如果我们运行的程序较多，占用的空间就会超过内存（内存条）容量。例如计算机的内存容量为2G，却运行着10个程序，这10个程序共占用3G的空间，也就意味着需要从硬盘复制 3G 的数据到内存，这显然是不可能的。操作系统（Operating System，简称 OS）为我们解决了这个问题：当程序运行需要的空间大于内存容量时，会将内存中暂时不用的数据再写回硬盘；需要这些数据时再从硬盘中读取，并将另外一部分不用的数据写入硬盘。这样，硬盘中就会有一部分空间用来存放内存中暂时不用的数据。这一部分空间就叫做虚拟内存（Virtual Memory）。3G - 2G = 1G，上面的情况需要在硬盘上分配 1G 的虚拟内存。硬盘的读写速度比内存慢很多，反复交换数据会消耗很多时间，所以如果你的内存太小，会严重影响计算机的运行速度，甚至会出现”卡死“现象，即使CPU强劲，也不会有大的改观。如果经济条件允许，建议将内存升级为至少8G，在 win7、win10 下运行软件就会比较流畅了。</p> <h3 id="_2-3-程序-java-的执行流程-知道即可"><a href="#_2-3-程序-java-的执行流程-知道即可" class="header-anchor">#</a> 2.3 程序(Java)的执行流程 ( 知道即可 )</h3> <p>​	通常将各种高级语言（例如Java）编写的计算机程序称为<strong>源程序（Source Program）</strong>，而把由源程序经过翻译（<strong>编译</strong>）而生成的机器指令程序称为<strong>目标程序 (Object Program)</strong>，然后通过执行目标程序得到最终结果。</p> <p>​	源程序被翻译成目标过程需要编译器（Compiler）参与才能完成，也就是就是说，编译器可以把用高级程序语言书写的源程序转换成等价的机器语言格式的目标程序。</p> <p><img src="https://cdn.jsdelivr.net/gh/langfeiyes/images-khub/2BaHYIduo6khrOP.png" alt=""></p> <p>​	Java是一种新型的<strong>跨平台分布式</strong>和程序设计语言。Java以它简单、安全、可移植、面向对象、多线程处理和具有动态等特性引起世界范围的广泛关注。Java语言是基于C++的，其最大的特色在于“<strong>一次编译，处处运行</strong>”。Java已逐渐成为网络化软件的核心语言。</p> <p>​	也就是说，<strong>Java语言是一种编译性语言，Java语言写的代码需要经过编译器编译成目标程序，才能运行出结果</strong>。</p> <p>​	市面上还存在一种计算机语言——解释性语言（例如: HTML,Js）是对源程序进行解释（逐句翻译），翻译一句执行一句，边解释边执行，从而得到最终结果。解释程序不产生将被执行的目标程序，而是借助解析引擎直接执行源程序本身。</p> <h3 id="_2-4-计算机采用二进制原因-理解即可"><a href="#_2-4-计算机采用二进制原因-理解即可" class="header-anchor">#</a> 2.4 计算机采用二进制原因 ( 理解即可 )</h3> <p>​	首先，<strong>二进位计数制仅用两个数码。0和1</strong>，所以，任何具有二个不同稳定状态的元件都可用来表示数的某一位。</p> <p>实际上具有两种明显稳定状态的元件很多。例如：</p> <ul><li>灯的&quot;亮(1)&quot;和&quot;熄(0)&quot;；</li> <li>开关的”开“和”关“;</li> <li><strong>电压的”高(1)“和”低(0）“</strong></li> <li>纸带上的”有孔“和“无孔”</li> <li>电路中的”有信号“和”无信号&quot;</li> <li>磁性材料的南极和北极等等，不胜枚举。</li></ul> <p>利用这些截然不同的状态来代表数字，是很容易实现的。不仅如此，更重要的是两种截然不同的状态不单有量上的差别，而且是有质上的不同。这样就能大大提高机器的抗干扰能力，提高可靠性。而要找出一个能表示多于二种状态而且简单可靠的器件，就困难得多了。</p> <p>​	其次，二进位计数制的四则运算规则十分简单。而且四则运算最后都可归结为加法运算和移位，这样，电子计算机中的运算器线路也变得十分简单了。不仅如此，线路简化了，速度也就可以提高。这也是十进位计数制所不能相比的。</p> <p>​	第三，在电子计算机中采用二进制表示数可以节省设备。可 以从理论上证明，用三进位制最省设备，其次就是二进位制。但由于二进位制有包括三进位制在内的其他进位制所没有的优点，所以大多数电子计算机还是采用二进制。此外，由于二进制中只用二个符号 “ 0” 和“1”，因而可用布尔代数来分析和综合机器中的逻辑线路。 这为设计电子计算机线路提供了一个很有用的工具。</p> <p>那么问题就来了？</p> <div class="language-java line-numbers-mode"><pre class="language-java"><code><span class="token number">1</span>个二进制位   可以存储<span class="token number">0</span>或<span class="token number">1</span>   							   <span class="token operator">=</span><span class="token operator">&gt;</span> <span class="token number">2</span>种状态  
<span class="token number">2</span>个二进制位   可以存储<span class="token number">00</span> <span class="token number">01</span> <span class="token number">10</span> <span class="token number">11</span>  						<span class="token operator">=</span><span class="token operator">&gt;</span> <span class="token number">4</span>种状态
<span class="token number">3</span>个二进制位   可以存储<span class="token number">000</span> <span class="token number">001</span> <span class="token number">010</span> <span class="token number">011</span> <span class="token number">100</span> <span class="token number">101</span> <span class="token number">110</span> <span class="token number">111</span>	<span class="token operator">=</span><span class="token operator">&gt;</span> <span class="token number">8</span>种状态
n个二进制位   可以存储									<span class="token operator">=</span><span class="token operator">&gt;</span> <span class="token number">2</span>的n次方种状态
</code></pre> <div class="line-numbers-wrapper"><span class="line-number">1</span><br><span class="line-number">2</span><br><span class="line-number">3</span><br><span class="line-number">4</span><br></div></div><p>​	综上，我们只需要知道，<strong>计算机采用二进制存储数据的，现实世界的数据（数字，符号）都可以经过特定的转换方式转换到计算机中存储</strong>，转换过程不需要开发者了解。</p> <h2 id="三、windows常见操作"><a href="#三、windows常见操作" class="header-anchor">#</a> 三、Windows常见操作</h2> <h3 id="_3-1-系统中dos命令行的基本操作"><a href="#_3-1-系统中dos命令行的基本操作" class="header-anchor">#</a> 3.1 系统中DOS命令行的基本操作</h3> <p>常见技巧一：打开dos命令行窗口，在电脑键盘上点击按中win+R，打开电脑的运行框，在运行框中输入cmd，操作图片步骤如下：</p> <p><strong><img src="https://cdn.jsdelivr.net/gh/langfeiyes/images-khub/XFWOBZos57TfVyq.png" alt=""></strong></p> <p>常见技巧二：dos命令窗口打开之后，系统自动会打开【C:\Users\当前用户&gt;】这个时候可以通过盘符加上：切换到其他磁盘，操作图片步骤如下。</p> <p><strong><img src="https://cdn.jsdelivr.net/gh/langfeiyes/images-khub/Qh7VlUnIbuEo1yf.png" alt=""></strong></p> <p>常见技巧三：在dos命令行窗口中查看当前磁盘中的目录，可以在输入dir 命令来查看目录，操作图片步骤如下：</p> <p><em><img src="https://cdn.jsdelivr.net/gh/langfeiyes/images-khub/vR5il2jPwmIBYb7.png" alt=""></em></p> <p>常见技巧四：进入指定目录（文件夹）</p> <div class="language-shell line-numbers-mode"><pre class="language-shell"><code><span class="token comment">## 进入test目录</span>
<span class="token builtin class-name">cd</span> <span class="token builtin class-name">test</span>

<span class="token comment">## 进入test目录下的day01目录</span>
<span class="token builtin class-name">cd</span> test/day01

<span class="token comment">## 表示退到当前目录的上级目录（返回上一级）</span>
<span class="token builtin class-name">cd</span> <span class="token punctuation">..</span>

<span class="token comment">## 表示进入当前盘符的根目录</span>
<span class="token builtin class-name">cd</span> /
</code></pre> <div class="line-numbers-wrapper"><span class="line-number">1</span><br><span class="line-number">2</span><br><span class="line-number">3</span><br><span class="line-number">4</span><br><span class="line-number">5</span><br><span class="line-number">6</span><br><span class="line-number">7</span><br><span class="line-number">8</span><br><span class="line-number">9</span><br><span class="line-number">10</span><br><span class="line-number">11</span><br></div></div><h3 id="_3-2-常用快捷方式"><a href="#_3-2-常用快捷方式" class="header-anchor">#</a> 3.2 常用快捷方式</h3> <table><thead><tr><th><span style="white-space:nowrap;">  快捷键  </span></th> <th>作用</th></tr></thead> <tbody><tr><td><strong>Win + D</strong></td> <td>该组合键会快速返回桌面并将所有的界面最小化，再次按会还原会之前的桌面状态。</td></tr> <tr><td><strong>Alt + Tab</strong></td> <td>经典的窗口切换组合键，它为每个窗口提供了缩略图预览，继续按快捷键切换窗口，然后在高亮显示所需窗口时释放组合键。</td></tr> <tr><td>Win + 方向键</td> <td>将窗口快速捕捉到屏幕的任何角落，向左和向右将窗口捕捉到屏幕的这些侧面，而向上和向下将窗口捕捉到角落。按Win + 上或下两次将使一个窗口全屏显示或最小化。</td></tr> <tr><td><strong>Ctrl + A</strong></td> <td>(命令提示符中有效)：快速全选当前所有文本。</td></tr> <tr><td><strong>Ctrl + C</strong></td> <td>(命令提示符中有效) – 与以前的版本不同，您可以简单地使用普通键盘Ctrl + C来复制命令提示符中的文本或输出。或者，也可以使用快捷键Ctrl + Insert。</td></tr> <tr><td><strong>Ctrl + V</strong></td> <td>(命令提示符中有效)：就像复制操作一样，您可以使用常规快捷键Ctrl + V将文本或命令粘贴到命令提示符中。或者，您也可以使用快捷键Shift + Insert。</td></tr> <tr><td><strong>Win + E</strong></td> <td>打开Windows资源管理器Explorer【即我的电脑、计算机】</td></tr> <tr><td><strong>Win + L</strong></td> <td>锁定计算机或切换用户</td></tr></tbody></table> <h2 id="四、编程语言"><a href="#四、编程语言" class="header-anchor">#</a> 四、编程语言</h2> <h3 id="_4-1-什么是编程-什么是编程语言-理解"><a href="#_4-1-什么是编程-什么是编程语言-理解" class="header-anchor">#</a> 4.1 什么是编程 ? 什么是编程语言? （理解）</h3> <p>​	编程是个动词，编程==写代码，写代码为了什么? 为了让计算机帮你做你想要干的事情。比如，马化腾想跟别人聊天，于是写了个聊天软件，这个软件就是一堆代码的集合，这些代码是什么？这些代码是计算机能理解的语言。</p> <p>​	既然我们需要计算机帮我做事情，那么我们就需要以一种计算机能理解的语言告诉它人类的意图。<strong>编程</strong>就是以计算机能理解的语言写代码告诉计算机我们的需求，并让计算机完成这个需求。</p> <p>​	那计算机能理解的语言是什么呢？ 之前，我们已经了解到，它只能理解2进制，0101010…，你总不能人肉输一堆二进制给计算机(虽然最原始的计算机就是这么干的)让它工作吧，这样开发速度太慢了。所以最好的办法就是人输入简单的指令，这些指令能被人类更容易的理解和记忆，同时计算机能把指令转成二进制进行执行，举例如下:</p> <p>假如 程序员想让计算机 播放一首 歌曲 ， 只需要输入指令 ，</p> <ol><li>open &quot;老男孩.mp3&quot;</li> <li>play</li></ol> <p>计算机的CPU接收到这样的指令后，会把它转成一堆 只有CPU可以理解的指令，然后再将指令变成各种对应的如下类似二进制</p> <ol><li>[ op | rs | rt | address/immediate]</li> <li>35 3 8 68 decimal</li> <li>100011 00011 01000 00000 00001 000100 binary</li></ol> <p>最终CPU去调用你的硬盘上这首歌，通过音箱播放。</p> <p>上面CPU那段指令太难理解了，如果让你天天写这样的代码，大家非得自杀不可。还好，伟大的计算机先驱们，开发了各种编程语言，让我们只需要通过写一些简单的规则，就能操作计算机工作啦。</p> <h2 id="五、idea2022-安装"><a href="#五、idea2022-安装" class="header-anchor">#</a> 五、IDEA2022 安装</h2> <p><img src="https://cdn.jsdelivr.net/gh/langfeiyes/images-khub/rsZ2HEh1il8WV5d.png" alt="">****</p> <h2 id="六、jdk-安装和配置"><a href="#六、jdk-安装和配置" class="header-anchor">#</a> 六、JDK 安装和配置</h2> <h3 id="_6-1-安装jdk"><a href="#_6-1-安装jdk" class="header-anchor">#</a> 6.1 安装JDK</h3> <p>当出现以下界面的时候，说明当前系统不具备Java的开发环境，就得去安装JDK和配置环境变量。</p> <p><em><img src="https://cdn.jsdelivr.net/gh/langfeiyes/images-khub/12KLq4PJmVlhIUQ.png" alt=""></em></p> <p>选择和操作系统一致版本的JDK，如window 64位选择【 Windows x64 Installer 】,mac选择【 macOS Installer】</p> <p><img src="https://cdn.jsdelivr.net/gh/langfeiyes/images-khub/qG7EZADu98snjzf.png" alt=""></p> <p>选择适合自己电脑的JDK后，全称傻瓜式的下一步，其中需要注意的是：</p> <ul><li>JDK不要安装在C盘，且不要带中文的路径，路径中不包含空格字符</li> <li><strong>一句话：开发相关路径一律不能出现中文，空格</strong></li></ul> <p><strong>举例说明：</strong></p> <p>正例：D:\OpenSources\jdk1.8.0_45\bin</p> <p>反例：D:\Java开发\jdk1.8.0_45\bin				 出现中文</p> <p>反例：C:\Program Files\jdk1.8.0_45\bin		路径中出现空格</p> <div class="language-java line-numbers-mode"><pre class="language-java"><code><span class="token class-name">E</span><span class="token operator">:</span>
└─opensources
    ├─jdk11
    ├─jdk17
    └─jdk8 
双击jdk<span class="token operator">-</span><span class="token number">17_</span>windows<span class="token operator">-</span>x64_bin 开始安装，选中安装目录到 e<span class="token operator">:</span>opensources<span class="token operator">/</span>jdk17
</code></pre> <div class="line-numbers-wrapper"><span class="line-number">1</span><br><span class="line-number">2</span><br><span class="line-number">3</span><br><span class="line-number">4</span><br><span class="line-number">5</span><br><span class="line-number">6</span><br></div></div><h3 id="_6-2-配置path环境变量"><a href="#_6-2-配置path环境变量" class="header-anchor">#</a> 6.2 配置PATH环境变量</h3> <p><strong>PATH环境变量的作用</strong></p> <p>配置PATH环境变量的目的是，能够在任何地方使用编译工具（javac）和运行工具（java）。</p> <p>PATH环境变量的值就应该是javac和java工具所在的目录路径。</p> <p><strong>配置环境变量</strong></p> <p>step 1：我的电脑 → 右键属性 → 高级系统设置 → 环境变量</p> <p><img src="https://cdn.jsdelivr.net/gh/langfeiyes/images-khub/E9F7kMVnJquah2C.png" alt=""></p> <p>step 2：打开环境变量，找到系统环境变量中的PATH环境变量</p> <p><strong><img src="https://cdn.jsdelivr.net/gh/langfeiyes/images-khub/1HeczSim2pV9kfZ.png" alt=""></strong></p> <p>step 3：把<code>D:\java\jdk17\bin</code> 加入环境变量中</p> <p><em><img src="https://cdn.jsdelivr.net/gh/langfeiyes/images-khub/1lm6GqWDZJyx8Ca.png" alt=""></em></p> <p>step 4：<strong>重新打开命令行窗口</strong>，在命令行输入 javac 或者 java 命令，也可以直接输入 java -version 看安装的jdk版本</p> <p><strong><img src="https://cdn.jsdelivr.net/gh/langfeiyes/images-khub/Gl8kTBrhc93bdDE.png" alt=""></strong></p> <p>如果看到上述界面说明PATH配置成功，此时就可以开发Java程序了。</p> <p><strong>常见问题：</strong></p> <ul><li>忘记配置PATH环境变量</li> <li>PATH环境变量没有指向JDK下面的bin目录</li> <li>出现javac不是内部或者外部命令的错误，原因是PATH配置错误</li></ul> <h2 id="七、创建工作区"><a href="#七、创建工作区" class="header-anchor">#</a> 七、创建工作区</h2> <p><img src="https://cdn.jsdelivr.net/gh/langfeiyes/images-khub/1rNDsXMk7ZmWTo2.png" alt=""></p> <h2 id="八、小结与作业"><a href="#八、小结与作业" class="header-anchor">#</a> 八、小结与作业</h2> <ul><li>了解计算机组成与程序运行参与角色</li> <li>了解Windows常见的DOS命令</li> <li>安装Idea、JDK</li> <li>建立简单的项目</li></ul></div></div>  <div class="page-edit"><!----> <div class="tags"><a href="/tags/?tag=%E7%8E%AF%E5%A2%83%E9%85%8D%E7%BD%AE" title="标签">#环境配置</a></div> <!----></div> <div class="page-nav-wapper"><div class="page-nav-centre-wrap"><a href="/pages/c29a9e/" class="page-nav-centre page-nav-centre-prev"><div class="tooltip">道法-费曼学习法</div></a> <a href="/pages/32e9a2/" class="page-nav-centre page-nav-centre-next"><div class="tooltip">Java开发入门与数据类型</div></a></div> <div class="page-nav"><p class="inner"><span class="prev">
        ←
        <a href="/pages/c29a9e/" class="prev">道法-费曼学习法</a></span> <span class="next"><a href="/pages/32e9a2/">Java开发入门与数据类型</a>→
      </span></p></div></div></div> <div class="article-list"><div class="article-title"><a href="/archives/" class="iconfont icon-bi">最近更新</a></div> <div class="article-wrapper"><dl><dd>01</dd> <dt><a href="/pages/0c07b2/"><div>
            IT杂货铺
            <!----></div></a> <span class="date">03-23</span></dt></dl><dl><dd>02</dd> <dt><a href="/pages/705b35/"><div>
            人事百问
            <!----></div></a> <span class="date">03-22</span></dt></dl><dl><dd>03</dd> <dt><a href="/pages/78eb56/"><div>
            MyBatis-Plus
            <!----></div></a> <span class="date">03-12</span></dt></dl> <dl><dd></dd> <dt><a href="/archives/" class="more">更多文章&gt;</a></dt></dl></div></div></main></div> <div class="footer"><div class="icons"><a href="mailto:langfeiyes@163.com" title="发邮件" target="_blank" class="iconfont icon-youjian"></a><a href="https://github.com/langfeiyes" title="GitHub" target="_blank" class="iconfont icon-github"></a><a href="https://music.163.com/#/playlist?id=755597173" title="听音乐" target="_blank" class="iconfont icon-erji"></a></div> 
  Theme by
  <a href="https://github.com/xugaoyi/vuepress-theme-vdoing" target="_blank" title="本站主题">Vdoing</a> 
    | Copyright © 2024-2024
    <span><a href="https://beian.miit.gov.cn/" target="_blank">粤ICP备18007927号-1</a></span></div> <div class="buttons"><div title="返回顶部" class="button blur go-to-top iconfont icon-fanhuidingbu" style="display:none;"></div> <div title="去评论" class="button blur go-to-comment iconfont icon-pinglun" style="display:none;"></div> <div title="主题模式" class="button blur theme-mode-but iconfont icon-zhuti"><ul class="select-box" style="display:none;"><li class="iconfont icon-zidong">
          跟随系统
        </li><li class="iconfont icon-rijianmoshi">
          浅色模式
        </li><li class="iconfont icon-yejianmoshi">
          深色模式
        </li><li class="iconfont icon-yuedu">
          阅读模式
        </li></ul></div></div> <!----> <!----> <!----></div><div class="global-ui"><div></div></div></div>
    <script src="/assets/js/app.a2a00aa5.js" defer></script><script src="/assets/js/2.256f807a.js" defer></script><script src="/assets/js/12.f9c60882.js" defer></script>
  </body>
</html>
